﻿//==============================================================================
// File: ApplicationConstants.cs
// Created: 2010-06-07
// Author: Piotr Włodek, Arkadiusz Świerczek
//==============================================================================
// This file is a part of MAMMOTH project.
// Copyright (C) 2010 AGH University of Science and Technology, Krakow.
// https://caribou.iisg.agh.edu.pl/trac/mammoth
//
// Mammoth is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// Mammoth is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with Mammoth. If not, see http://www.gnu.org/licenses/.
//==============================================================================

using System;
using WpfRcp.Core.Common;

namespace WpfRcp.Core.Globals
{
    /// <summary>
    /// Contains all constants used througout the application.
    /// </summary>
    public static class ApplicationConstants
    {
        public static class Menus
        {
            public static class Level1
            {
                // Level 1 menus
                public const string File = "File";
                public const string Edit = "Edit";
                public const string View = "View";
                public const string Help = "Help";
                public const string Data = "Data";
            }
            
            public static class Level2
            {
                // Level 2 menus
                public const string Exit = "Exit";
                public const string HeaderVisibility = "HeaderVisibility";
                public const string FullScreen = "FullScreen";
                public const string OptionsView = "OptionsView";
                public const string LogView = "LogView";
                public const string AboutView = "AboutView";
                public const string StatusView = "StatusView";
            }
        }

        public static class MenuGroups
        {
            public const string Exit = "Exit";
            public const string BasicView = "BasicView";
            public const string ViewWindows = "ViewWindows";
            public const string About = "About";
        }

        public static class CommandCategories
        {
            public const string MammothCommands = "MammothCommands";
        }

        public static class Commands
        {
            public const string Exit = "Exit";
            public const string ChangeHeaderVisibility = "ChangeHeaderVisibility";
            public const string ToggleFullScreen = "ToggleFullScreen";
            public const string OpenOptionsView = "OpenOptionsView";
            public const string OpenLogView = "OpenLogView";
            public const string OpenAboutView = "OpenAboutView";
            public const string OpenStatusView = "OpenStatusView";
        }

        public static class Themes
        {
            public const string Light = "Mammoth Light";
            public const string Dark = "Mammoth Dark";

            public static readonly Theme LightTheme = new Theme("Mammoth Light");
            public static readonly Theme DarkTheme = new Theme("Mammoth Dark");
        }

        public const string UIThreadName = "UI Thread";
    }
}